// Package integrity provides data integrity checking and verification functionality
// for the smart snapshotter system.
//
// The package implements:
//   - Multiple hash algorithms (SHA-256, BLAKE3)
//   - Data checksum calculation and verification
//   - Integrity metadata management
//   - Corruption detection and reporting
//   - Data recovery mechanisms
//
// Basic usage:
//
//	// Create integrity manager
//	config := &integrity.IntegrityConfig{
//	    DefaultAlgorithm: integrity.SHA256,
//	    EnableChecksum:   true,
//	}
//	metadataBackend, _ := storage.NewFileMetadataBackend("/path/to/metadata")
//	manager, _ := integrity.NewManager(config, metadataBackend)
//
//	// Generate integrity metadata for data
//	data := []byte("important data")
//	metadata, _ := integrity.GenerateIntegrityMetadata(data, integrity.SHA256, true)
//
//	// Store and verify integrity
//	manager.StoreIntegrityMetadata(ctx, "key1", metadata)
//	manager.VerifyIntegrity(ctx, "key1", data)
//
// The package supports multiple recovery mechanisms:
//   - Backup-based recovery
//   - Parity-based recovery (advanced)
//   - Replica-based recovery (advanced)
//
// All operations are thread-safe and support concurrent access.
package integrity